"""数据同步相关的URL路由配置

定义数据同步相关的API路由。
"""

from django.urls import path, include
from rest_framework.routers import DefaultRouter

from .sync_views import (
    SyncSessionViewSet,
    SyncItemViewSet,
    DataSyncAPIView,
    ConflictResolutionViewSet
)

app_name = 'sync'

# 创建路由器
router = DefaultRouter()
router.register(r'sessions', SyncSessionViewSet, basename='sync-session')
router.register(r'items', SyncItemViewSet, basename='sync-item')
router.register(r'conflicts', ConflictResolutionViewSet, basename='conflict-resolution')

urlpatterns = [
    # 数据同步API
    path('sync/', DataSyncAPIView.as_view(), name='data-sync'),
    
    # 包含路由器生成的URL
    path('', include(router.urls)),
]

# API路由说明：
# 
# 数据同步：
# POST /api/v1/sync/sync/ - 执行数据同步
# 
# 同步会话管理：
# GET /api/v1/sync/sessions/ - 获取同步会话列表
# POST /api/v1/sync/sessions/ - 创建同步会话
# GET /api/v1/sync/sessions/{id}/ - 获取同步会话详情
# PUT /api/v1/sync/sessions/{id}/ - 更新同步会话
# DELETE /api/v1/sync/sessions/{id}/ - 删除同步会话
# POST /api/v1/sync/sessions/{id}/complete/ - 完成同步会话
# POST /api/v1/sync/sessions/{id}/fail/ - 标记同步会话失败
# 
# 同步项目管理：
# GET /api/v1/sync/items/ - 获取同步项目列表
# POST /api/v1/sync/items/ - 创建同步项目
# GET /api/v1/sync/items/{id}/ - 获取同步项目详情
# PUT /api/v1/sync/items/{id}/ - 更新同步项目
# DELETE /api/v1/sync/items/{id}/ - 删除同步项目
# POST /api/v1/sync/items/{id}/resolve_conflict/ - 解决冲突
# 
# 冲突解决：
# GET /api/v1/sync/conflicts/ - 获取冲突解决列表
# POST /api/v1/sync/conflicts/ - 创建冲突解决方案
# GET /api/v1/sync/conflicts/{id}/ - 获取冲突解决详情
# PUT /api/v1/sync/conflicts/{id}/ - 更新冲突解决方案
# DELETE /api/v1/sync/conflicts/{id}/ - 删除冲突解决方案
# GET /api/v1/sync/conflicts/pending_conflicts/ - 获取待解决的冲突